Mildred is a chunkygraphics library for Blitz Basic 2, providing extensive
chunky-format graphics capabilities for your Blitz software. The library, its
documentation and accompanying programs are Copyright (c) 1998-1999 Paul West.
The library itself is also Copyright (c) 1998-1999 Pagan Software.
Please refer to the archive containing the old on-line html documentation in
order to obtain an in-depth manual regarding specifically the chunky-to-planar
related commands from the library.
Primarily, have runtime error-checking ON while figuring out how things work as
there is extensive checking performed throughout the system and the messages will
help you to avoid crashes and to supply the correct parameters. Once the program
is running well and won't fall over, turn runtime error-checking off. Your final
executable should (highly recommended) be compiled without runtime errorchecking,
as the runtime errorchecking routines do gobble up a fair amount of time,
especially if you are calling a lot of small routines like plotting lots of
pixels.
In Mildred, shapes and bitmaps are internally identical, which also means that
bitmaps have stencils in the same way that shapes have cookies. Also note that
ALL Mildred commands begin with the identifying letter `M'. There are 32 shape
banks. `Current' shapes refer to the currently used bank, and operations accross
banks are not possible.
As of v1.23, space is reserved for default amounts of objects so that for most
smaller projects you do not need to use the MReserveXXX instructions. By default,
there are 20 c2pWindows, 20 chunky Bitmaps, 100 chunky Shapes and 20 Queues. If
you want to use more than this you should reserve some specifically. The objects
that are reserved by default consume less than 10k of fastram each time your
program is run.
In v1.27 the ordering of lookup tables for the MReMapUsingShape and
MReMapShapeUsingShape commands has been reversed. This is to provide consistency
with the new MReMap blit mode, which makes it possible to reduce the size of
tables when a shape contains a lower number of colours (starting from 0). Also
in v1.27 a default amount of 20 chunky Table objects will be allocated at
runtime.
As of v1.36 the lib will automatically check for what cpu is available from
ExecBase\AttnFlags and will make automatic calls to MCPU, Mc2pCPUmode and
M040c2pUsage. MCPU will be set to whatever cpu is detected, and this will serve
as the default unless you specifically use MCPU in your program. Mc2pCPUmode will
be set to a default that best suits the detected cpu. If an 040 or higher is not
present, M040c2pUsage will be switched off. M040c2pUsage overrides Mc2pCPUmode
and it used to be possible to assume that the 040Usage was always on. This
assumption is no longer valid but hopefully if you use MProcessor or Processor to
return a value to pass as the cpu to use, it will be in accordance with the value
that was internally detected so if an 040 is available it shouldn't have switched
of the M040c2pUsage. The end result should hopefully be the same for the
programmer unless you attempt to ask for a specific CPU that may not equate to
the cpu that is actually available, in which case care must be taken to switch
M040c2pUsage on if necessary.
Also as of v1.36 the MProcessor function has been included to remove reliable on
the old blitz `Processor' instruction and it is recommended that this be used.
Values returned range from 0 to 6 rather than 0..4, although the lib will mostly
assume that anything higher than 4 means to use the 040+-only routines.
As of v1.38 some previously created tokens were removed and merged in with others
to provide a simpler interface and reduce the number of tokens in the library.
Mainly the only tokens affected are the particle-animation ones, but also
MProcessor. If you had used these tokens prior to version 1.38, it is recommended
that you save your program as ascii text, THEN install the new version of
Mildred, and then reload your ascii-format program into blitz so that it
tokenises properly. If you attempt to save off the ascii text after installing
the library the tokens would be corrupt when you tried to load it back in. If
unsure, keep a temporary backup of your old Mildred.obj library file. Note that
some tokens have been removed, such as MAddXToParticles[Q] and
MAddYToParticles[Q], with their functionality being implemented into
MAddXYToParticles[Q] as optimised routines to use when XToAdd or YToAdd are 0.
Also the MAdd2To.. family of commands have been merged into the originally single
MAddTo.. family which now allows you to specify a second increment list as an
optional parameter.
converted with guide2html by Kochtopf